In general, computer application programs may be implemented in two ways. First, a user may load and execute a local application program. Local application programs have processing instructions that are stored in a memory of the same computing device from which the user executes commands. In order to receive upgrades to these applications, a user must download and install any new version of the software. Because such local applications are also computer specific, they also do not provide personalized web browsing capability specific to a particular user and independent of the browser, platform, machine and/or location of the user.
Remote applications are accessed and implemented by a user over a computer network, such as the Internet. Generally, a user may access a remote server and request that an application be activated. The remote server then transmits display data and processing instructions to the user's computing device over the network. Such “thin-client” devices, e.g., wireless and handheld devices, are limited by memory, screen size, processing and bandwidth constraints. In applications involving such devices, the commands must first be transmitted from the user's computing device to the remote server that runs the application. These applications are advantageous in that any upgrades to the software may be implemented by an operator of the server, rather than being downloaded and installed by each individual user.
One type of frequently-used application program is a web browsing application or “browser” which is generally used to view information on the Internet, such as pages of HTML data, graphical data (e.g. data presented in a GIF format, TIFF format or JPEG format), and multimedia presentations (e.g. data presented in MPEG formats). Most common web browsers present a single display area in which web page content is presented. Examples of such browsers include INTERNET EXPLORER 3.0 and NETSCAPE NAVIGATOR 4.0. The window in which the browser is active typically has navigational controls such as a horizontal scroll bar, a vertical scroll bar, a minimize command button, a maximize command button, a forward command button, a backward command button and a close window lens command button. Such controls are specific to the browser application in the displayed window and are typically implemented by the operating system (e.g. WINDOWS 95/98/NT/2000) rather than the browser itself.
Typically, users will visit more than one web page or web site in each browsing session, and will often want to return to and make comparisons with a previously-viewed page. Consequently, browsers with a single display area are troublesome in that a user must open multiple windows on their computing device if they wish to view more than one web page at a time. To view a previous page in such browsers, the user must repeatedly select a “back” button until the previously-viewed page is displayed. These limited features inhibit navigation on the Internet. Limited navigation ability is particularly pertinent to thin-client devices where memory, screen size, processing and bandwidth are constrained or limited.
Recently, several browsers have been introduced which provide separate display areas that allow viewing of more than one web page. One example of this type of browser is INTERNET EXPLORER 5.0 which allows a designated search page to be presented in a smaller display area of the window in which the browser is active. A larger display area is provided within the same window to view a current web page accessed by the user. However, INTERNET EXPLORER 5.0 does not provide separate navigational controls for the separate display areas within the window. Also, a user may not specify a web page other than a designated search page for presentation in the smaller display area.
A second example of a multiple-view web browser is the browser of BROADPAGE.COM. Each display area in the BROADPAGE.COM browser has independent navigational controls. However, the browser is a local application, not a remote application. Furthermore, multiple views are presented in a tiled fashion rather than side-by-side, so that portions of previously viewed documents become partially obscured when selecting a new web page to view. The browser of KATIESOFT.COM is another example of a local application where the multiple views are presented in a non-overlapping manner.
In addition to the shortcomings presented above, current browsers suffer from other limitations in their functionality. For example, browsers typically include the ability to bookmark a web page that is being viewed. Bookmarking, as referred to herein, is the process by which a user designates that a web page identifier (e.g. a uniform resource locator (URL)) is to be stored within the browser so that, upon later selection of the stored address, the web page may be viewed. Currently, several steps must be taken to bookmark a web page after it is presented to the user. First, the user must typically activate a general bookmark command button. Next, the user must designate that the bookmark is to be added to a bookmark folder, and, perhaps, determine a location within the folder to which the bookmark information is to be stored. Finally, a confirmation of the bookmark must be entered. Thus, bookmarking has traditionally been a multi-step process.
Another disadvantage of common browser systems is that bookmarks are saved in the local computer device. Thus, they are not portable from one device to another.
Still another disadvantage of common browsers is that they generally do not allow the entire content of a web page to be viewed at once. Many web pages contain content, the size or length of which may exceed the display area of a browser window. Typically, browsers rely on the scroll bar functions provided by the operating system to allow a user to scroll through the web site content. The ability to reformat a web page so that its entire content can be viewed within the display area of a window without scrolling has not been possible in earlier browsing systems. The need for reformatting web pages is particularly pertinent to thin-client devices with limited screen displays.